package br.com.affero.testewel.model.document;



/**
 * Classe para serviços relacionados aos arquivo dos documentos do sistema.
 * 
 * Utiliza o padrão Singleton.
 * @see http://c2.com/cgi/wiki?SingletonPattern 
 * 
 * @author Welington Veiga
 * @since 19/12/2011
 * @version 1.0.0
 */
public class DocumentUtil {
	
	private static final int MAX_FILE_SIZE = 5242880;
	
	/**
	 * Instância única do Serviço de Arquivos
	 */
	private static DocumentUtil instance;
	
	public static DocumentUtil getInstance(){
		// Vamos construir caso não exista o/
		if(instance == null)
			instance = new DocumentUtil();
		
		return instance;
	}
	
	/**
	 * Construtor privado.
	 */
	private DocumentUtil(){}
	
	/**
	 * Método que verifica se um content-type é permitido pelo sistema.
	 * 
	 * @param contentType  String que identifica um Content-Type 
	 * @return true caso seja um tipo conhecido, false caso contrário
	 */
	public boolean isExtensionAllowed(String contentType){
		return ContentTypeEnum.fromString(contentType) != ContentTypeEnum.UNKNOWN_TYPE;
	}
		
	public int getMaxFileSize(){
		return MAX_FILE_SIZE;
	}
	
	
	
}
